1. Field of the Invention
The present invention relates to digital communication systems. More particularly, the present invention relates to techniques for improving the quality of an audio signal when portions of a bit stream representing the audio signal are lost within the context of a digital communications system.
2. Background
In speech coding (sometimes called “voice compression”), a coder encodes an input speech or audio signal into a digital bit stream for transmission. A decoder decodes the bit stream into an output speech signal. The combination of the coder and the decoder is called a codec. The transmitted bit stream is usually partitioned into segments called frames, and in packet transmission networks, each transmitted packet may contain one or more frames of a compressed bit stream. In wireless or packet networks, sometimes the transmitted frames or packets are erased or lost. This condition is called frame erasure in wireless networks and packet loss in packet networks. When this condition occurs, to avoid substantial degradation in output speech quality, the decoder is sometimes configured to perform frame erasure concealment (FEC) or packet loss concealment (PLC) to try to conceal the quality-degrading effects of the lost frames. Because the terms FEC and PLC generally refer to the same kind of technique, they can be used interchangeably. Thus, for the sake of convenience, the term “packet loss concealment”, or PLC, is used herein to refer to both.
Today, a growing and popular wireless communications protocol being deployed is Bluetooth®, an industrial specification for wireless personal area networks (PANs). Bluetooth® provides a way to connect and exchange information between devices such as mobile phones, laptops, personal computers, printers, headsets, etc. over a secure, globally unlicensed short-range radio frequency.
On the Bluetooth® air-interface, a 64 kb/s log pulse code modulation (PCM) format (A-law or u-law) or a 64 kb/s continuously variable slope delta (CVSD) modulation format may be used for narrowband (8 kilohertz (kHz) sampling rate) speech signals. For higher sampling rates (e.g., 16, 32, 44 kHz), the Low-Complexity Sub-band Codec (LC-SBC) may be used. LC-SBC is an audio coding system specially designed for Bluetooth® audio applications to obtain high quality audio at medium bit rates, and having a low computational complexity. LC-SBC uses four or eight sub-bands, an adaptive bit allocation algorithm, and simple adaptive block PCM quantizers. LC-SBC is fully described in Appendix B of the Advanced Audio Distribution Profile (A2DP) specification (Adopted Version 1.0, May 22, 2003)(referred to herein as “the A2DP specification”), the entirety of which is incorporated by reference herein.
PLC algorithms have been developed that may be used in conjunction with LC-SBC. For example, U.S. patent application Ser. No. 12/614,153 to Zopf et al. (entitled “Packet Loss Concealment for Sub-band Codecs” and filed on Nov. 6, 2009) describes various PLC algorithms that may be used in conjunction with LC-SBC and other sub-band codecs. When an LC-SBC frame is determined to include bit errors, the frame may be deemed lost and a PLC algorithm such as one described in U.S. patent application Ser. No. 12/614,153 may be applied to generate a replacement frame. However, it has been observed that there is wide variability in terms of the impact of random bit errors on an LC-SBC frame. Consequently, it is possible that decoding some LC-SBC frames with random bit errors will actually produce an audio signal of better quality than that produced using PLC whereas decoding other LC-SBC frames with random bit errors will produce a speech signal of lesser quality than that produced using PLC.
What is needed then is a system and method for managing and/or mitigating the impact of bit errors on LC-SBC frames received by an LC-SBC decoder. For example, one embodiment of the desired system and method should be able to estimate the impact of bit errors on an LC-SBC frame received by an LC-SBC decoder and selectively apply one of a plurality of bit error management techniques to the LC-SBC frame based on the estimated impact, wherein the bit error management techniques may include performing PLC, performing normal LC-SBC decoding, or performing some other technique for managing and/or mitigating the impact of the bit errors. The desired system and method should also operate to conceal bit errors in LC-SBC frames. The desired system and method should further be applicable to other codecs as well.